home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / utility / fixtx707.zip / FIXTEXT.DOC < prev    next >
Text File  |  1997-07-31  |  16KB  |  345 lines

  1. FIXTEXT.DOC                            1                           Jul 31, 1997
  2.  
  3. WIN95 AND WINNT NOTICE:  As with most DOS-based utilities, this program doesn't
  4. understand the weird subdirectories, long filenames,  invalid  characters  that
  5. are possible under Windows 95 and Windows/NT.   Both  operating  systems  alias
  6. long filenames into names like MYFILE~1.TXT and you will need  to  specify  the
  7. aliased versions of file names to process  them.   Under  some  file  structure
  8. systems in NT, the program may not work at all.
  9.  
  10. The FIXTEXT.EXE program applies a character-translation template to any  entire
  11. text file.  This allows you to change a whole  bunch  of  characters  at  once.
  12. Features:
  13.  
  14.   * Can process text files of any size.
  15.   * Can process DOS text files (lines ending with CR/LF), Mac text files (lines
  16.     ending with CR), Unix text files (lines ending with LF), and  fixed  length
  17.     files (lines of a fixed length without any CR or LF characters).
  18.   * Can convert any of the above four types of text files to any of  the  other
  19.     types of text files.
  20.   * Automatically detects the type of input file if it's a standard  text  file
  21.     (lines ending with CR/LF, CR alone, or LF alone).
  22.   * Ideal utility to convert all Unix text files to DOS text files.
  23.   * Can be used on binary files but using the  /REPLACE  option  isn't  exactly
  24.     recommended in this case...
  25.   * Can load a user-defined character-translation tables.
  26.   * Character-translation tables can let you do things like:
  27.      - Convert all lowercase characters to uppercase characters
  28.      - Translate IBM graphics characters into standard ASCII  text  characters;
  29.        this is very useful if you want to print the document and are  tired  of
  30.        getting weird stuff printing out.
  31.   * Can translate tab characters into spaces.
  32.   * Can fix up underscores and other backspace characters.
  33.   * Can remove leading and/or trailing spaces from lines.
  34.   * Can remove blank lines from files.
  35.   * Can create a file showing all lines that were changed.
  36.   * Can translate single characters into multiple  characters  or  remove  them
  37.     entirely.
  38.   * The input file specification can  include  standard  DOS  wildcards  or  an
  39.     external file (@listfile) containing the files to  be  processed  (although
  40.     either prohibits specifying an output file name).
  41.   * Pressing escape stops the program early.
  42.  
  43.  
  44. Specifying parameters:
  45.  
  46. Parameters for this program can be set in the following ways.  The last setting
  47. encountered always wins:
  48.   - Read from an *.INI file (see BRUCEINI.DOC file),
  49.   - Through the use of an environmental variable (SET FIXTEXT=whatever), or
  50.   - From the command line (see "Syntax" below)
  51.  
  52.  
  53.  
  54. FIXTEXT.DOC                            2                           Jul 31, 1997
  55.  
  56. The character translation file (lookup tables):
  57.  
  58. FIXTEXT will process a character-translation (lookup) table if  one  is  found.
  59. This table can be in your standard *.INI file  (for  example,  FIXTEXT.INI)  if
  60. desired or it can be a separate file specified using the /Linitfile parameter.
  61.  
  62. A sample FIXTEXT.INI file is provided.  You can modify this file or create your
  63. own.
  64.  
  65. If no *.INI file is found (or if "/-I" or "/INULL" is specified),  the  default
  66. translation table will be loaded.   This  one  is  identical  to  the  original
  67. FIXTEXT.INI file and has these characteristics:
  68.  
  69.    - All characters in the decimal 032 to 125 range are left unchanged
  70.    - Characters in decimal 24 to 27, and 176 to  223  are  considered  graphics
  71.      characters and are translated into regular text characters, typically ".",
  72.      "X", "x", "|", "-", and "+"
  73.    - Decimal characters 248 to 250 and 254 are changed into asterisks ("*")
  74.    - All other characters are translated into spaces
  75.  
  76. As an example of the graphics character translation that's done, the following:
  77.  
  78.          ┌─┬─┐   ╔═╦═╗                      +-+-+   +-+-+
  79.          │ │ │   ║ ║ ║                      | | |   | | |
  80.          ├─┼─┤   ╠═╬═╣        becomes:      +-+-+   +-+-+
  81.          │ │ │   ║ ║ ║                      | | |   | | |
  82.          └─┴─┘   ╚═╩═╝                      +-+-+   +-+-+
  83.  
  84. It may not look as good but it certainly prints better on most printers.
  85.  
  86. The lookup table is an ASCII text file which consists of a series of  lines  in
  87. the following format:
  88.  
  89.         inchar = outstr
  90.  
  91. where "inchar" is the character to change from and "outstr" is what  to  change
  92. the character to.  Both portions can consist of regular  non-space  ASCII  text
  93. characters (like "A" or "z") as well as hexadecimal values (in the  form  &Hxx)
  94. or decimal values (in the form \nnn).  "outstr" can  consist  of  0  (the  word
  95. "(NONE)"), 1, or 2 or more  replacement  characters  while  "inchar"  can  only
  96. represent a single character.  You cannot use a space or equal sign  in  either
  97. "inchar" or "outstr"; use the hexadecimal or decimal  representations  instead.
  98. The table does not have to be in any specified order.  Lines can end with  "/*"
  99. followed by a comment if you want.
  100.  
  101. Hexadecimal and decimal equivalents are explained in BRUCEHEX.DOC.
  102.  
  103.  
  104. FIXTEXT.DOC                            3                           Jul 31, 1997
  105.  
  106. Examples:
  107.  
  108.          a    = A /* Translate lowercase "a" into capital "A"
  109.          \032 = _ /* Translate space (decimal 032, &H20 too) into underscore
  110.          &H0c = <PAGE>\013\010 /* Translate page eject character into the  word
  111.               "<PAGE>" followed by carriage return/line feed
  112.          \027 = \032    /* Translate escape character to a space
  113.          \027 = (NONE)  /* Remove excape characters entirely
  114.  
  115. Since lines beginning with "/" are treated as command-line defaults,  you  must
  116. use \047 or &H2F if you want to override the definition of "/".
  117.  
  118. Note that when characters are not translated into single characters, all of the
  119. single-character translations  are  performed  first  and  then  the  remaining
  120. translations are performed in the order they were specified.  So something like
  121. the following would result in some lines being changed twice:
  122.  
  123.         A = CAPITAL_A
  124.         a = A
  125.  
  126. In this case, all lowercase "a" characters would first be  translated  into  an
  127. uppercase "A", and then the same character would then be  translated  into  the
  128. string "CAPITAL_A".
  129.  
  130.  
  131.  
  132. FIXTEXT.DOC                            4                           Jul 31, 1997
  133.  
  134. Syntax:
  135.  
  136.     FIXTEXT { filespec | (filelist) | @listfile }
  137.       { outspec [ /OVERWRITE | /-OVERWRITE | /OVERASK ] | /REPLACE }
  138.       [ /n ] [ /TO CRLF | /TO CR | /TO LF | /TO n ] [ /TEXT | /BINARY ]
  139.       [ /TRIM | /RTRIM | /LTRIM | /-TRIM ] [ /ZAPNULL ] [ /-FIXBS ]
  140.       [ /-FIXTAB ] [ /EJECT=str ] [ /-EOF ] [ /Frptfile | /-F ] [ /Q | /Qn ]
  141.       [ /Linitfile | /-L ] [ /MONO ]
  142.       [ /Iinitfile | /-I ] [ /-ENV ] [ /? ] [ /?&H ]
  143.  
  144. "filespec" is the input file specification to process.  Can  include  path  and
  145. wildcard information if desired.
  146.  
  147. "(filelist)" allows you to specify multiple files  to  be  processed  from  the
  148. command line.  File names should be separated  by  spaces.   They  may  include
  149. drive, path, and wildcard information.  Remember that a  command  line  in  DOS
  150. cannot exceed 127 characters so you're limited as to how  many  different  file
  151. specifications you can provide in this fashion.
  152.  
  153. "@listfile" allows you to have a variety of file specifications saved in a text
  154. file named "listfile".  Each line in  the  file  should  consist  of  one  file
  155. specification, each of which can include a path and wildcards if desired. Blank
  156. lines and lines beginning with semi-colons, colons, or quotes are ignored.
  157.  
  158. "outspec" is the name of the file to create.  It can include a drive  and  path
  159. specification.  You have to specify either an outspec or the  /REPLACE  option.
  160. If your input specification includes more than one file  name  (either  through
  161. the use of wildcards or else by using the @listfile option), "outspec" must  be
  162. an output file path, not an individual file name.  Otherwise, it has to  be  an
  163. individual file name.
  164.  
  165. "/OVERWRITE" says to overwrite the output file if it exists already.
  166.  
  167. "/-OVERWRITE" says to abort if the output file exists already.
  168.  
  169. "/OVERASK" says to prompt if the  output  file  exists  already;  this  is  the
  170. default.
  171.  
  172. "/REPLACE" says to write the results to a temporary file and,  if  the  program
  173. finds characters to change and runs successfully, to replace the original  file
  174. with the fixed temporary file.   The  original  file  is  renamed  with  a  BAK
  175. extension if you use this option.  You have to specify *either* an output  file
  176. name or the /REPLACE option.
  177.  
  178. "/n" specifies that the input file doesn't have any  carriage  return  or  line
  179. feed indicators at all and that, in fact, lines  are  all  fixed  length.   The
  180. routine automatically detects the standard text files (lines end with CR/LF, CR
  181. alone, or LF alone); only fixed-length input files require this parameter.
  182.  
  183.  
  184. FIXTEXT.DOC                            5                           Jul 31, 1997
  185.  
  186. "/TO CRLF" specifies that the output lines are to end  with  the  standard  DOS
  187. CR/LF combination.
  188.  
  189. "/TO CR" specifies that the output lines are to end with the  standard  Mac  CR
  190. character only.
  191.  
  192. "/TO LF" specifies that the output lines are to end with the standard  Unix  LF
  193. character only.
  194.  
  195. "/TO n" specifies that the output lines are  to  be  written  as  fixed  length
  196. records of line length n.
  197.  
  198. "/TEXT" specifies that the file is a text file with definite lines.
  199.  
  200. "/BINARY" says you want to process a binary file, with no definable lines. This
  201. is sometimes useful when you have a file in a  native  word  processing  format
  202. (like a WordPerfect file) and you want to dump it out  as  ASCII  text.  You'll
  203. lose   the   paragraph   breaks   (unless   you're   pretty   good   with   the
  204. character-translation file but you'll get something at least.  Invoking /BINARY
  205. automatically invokes /-TRIM, /-ZAPNULL, /-FIXBS, and /-FIXTAB.
  206.  
  207. "/TRIM" says to  remove  all  leading  and  trailing  spaces  from  the  lines.
  208. Initially defaults to "/RTRIM".
  209.  
  210. "/RTRIM" removes all trailing spaces.  This is initially the default.
  211.  
  212. "/LTRIM" removes all leading spaces.  Initially defaults to "/RTRIM".
  213.  
  214. "/-TRIM" skips removing any leading or trailing spaces.
  215.  
  216. "/ZAPNULL" says to kill off any blank lines found  in  the  file  (whether  the
  217. blanks were created by one of your changes  or  not).   Initially  defaults  to
  218. "/-ZAPNULL".
  219.  
  220. "/-FIXBS" says to not resolve backspace characters.  These usually show  up  as
  221. solid rectangles with circles in them.  "/FIXBS" is initially the default.
  222.  
  223. "/FIXBS" says to resolve backspace characters.  This is done by removing a pair
  224. of characters for each backspace.  So "A", (BACKSPACE), "A", which might appear
  225. as overstriking on some printers, will come out as just a single "A".  This  is
  226. initially the default.
  227.  
  228. "/-FIXTAB" says to not expand  tab  characters.   "/FIXTAB"  is  initially  the
  229. default.
  230.  
  231. "/FIXTAB" says to expand tab characters.  When it runs into a tab character, it
  232. figures there are tab positions set every eight characters and it  expands  the
  233. lines with spaces to make the tabs correspond  to  these  positions.   This  is
  234. initially the default.
  235.  
  236. "/EJECT=str" says to replace the page eject character (decimal 12) with another
  237. string.  This replacement can be 0 characters (if you say  "/EJECT=(NONE)"),  1
  238. character, or 2 or more characters.  The string can include text,  decimal,  or
  239. hexadecimal  characters  (see  BRUCEHEX.DOC).   Any  /EJECT=str   specification
  240. overrides any specification in the character-translation tables.
  241.  
  242.  
  243. FIXTEXT.DOC                            6                           Jul 31, 1997
  244.  
  245. "/-EOF" says to not automatically add an end-of-file indicator at  the  end  of
  246. the output file.  "/EOF" is initially the default.
  247.  
  248. "/EOF" ends each file with an end-of-file  (decimal  26)  indicator.   This  is
  249. initially the default.
  250.  
  251. "/Frptfile" specifies the file name to write out the results  of  this  program
  252. to.  By default, no report is created.  If  you  want  one,  however,  it  will
  253. include the date, time, and file name being processed as well as all lines that
  254. had problems.  The file is appended to each time so it contains a  running  log
  255. of what you've run.  You can change this  file  name  to  something  else  (and
  256. provide drive and path information if desired) or you can  say  /-F  and  avoid
  257. creating the file altogether.
  258.  
  259. "/-F" says to skip producing the changed-line file entirely.  This is initially
  260. the default.
  261.  
  262. "/Q" turns off the line-by-line status messages.
  263.  
  264. "/Qn" shows a status message every n-number of lines/blocks.   The  default  is
  265. "/Q25".
  266.  
  267. "/L" says to read all character-translation codes from  your  /Iinitfile  file.
  268. This is initially the default.
  269.  
  270. "/Linitfile" says that the "Character-translation" codes are found  in  a  file
  271. other than from the default "/Iinitfile" file.  This is primarily useful if you
  272. want to have a master *.INI file and a separate code lookup table.
  273.  
  274. "/-L" skips loading any character translation tables at all.  The program  just
  275. does tab expansions and changing text formats (say, DOS text  into  Unix  text)
  276. then.
  277.  
  278. "/MONO" (or "/-COLOR") does not  try  to  override  screen  colors.   Initially
  279. defaults to "/COLOR".
  280.  
  281. "/COLOR" (or  "/-MONO")  allows  screen  colors  to  be  overridden.   This  is
  282. initially the default.
  283.  
  284. "/Iinitfile" says to read an initialization file with the file name "initfile".
  285. The file specification *must* contain a period.  Initfiles are described in the
  286. BRUCEINI.DOC file.  Initially defaults to "/IFIXTEXT.INI".
  287.  
  288. "/-I" (or "/INULL") says to skip loading the  character-translation  table  and
  289. initialization file.  In this case, the default character-translation table  is
  290. used.  See the "Character-translation table" discussion above.
  291.  
  292. "/ENV" says to look for %var% occurrences  in  the  command  line  and  try  to
  293. resolve any apparent environmental variable references.  See  BRUCEINI.DOC  for
  294. more information.  This is initially the default.
  295.  
  296. "/-ENV" says to skip resolving apparent %var% occurrences in the command  line.
  297. Initially defaults to "/ENV".
  298.  
  299. "/?" or "/HELP" or "HELP" shows you the syntax for the command.
  300.  
  301. "/?&H" gives you a hexadecimal and decimal conversion table.
  302.  
  303. FIXTEXT.DOC                            7                           Jul 31, 1997
  304.  
  305. Return codes:
  306.  
  307. FIXTEXT returns the following ERRORLEVEL codes:
  308.         0 = no problems, changes made
  309.         1 = no problems, no changes made
  310.       249 = non-text file encountered despite /TEXT option
  311.       254 = program aborted
  312.       255 = syntax problems, file not found, or /? requested
  313.  
  314.  
  315. Author:
  316.  
  317. This program was written by Bruce Guthrie of Wayne Software.  It  is  free  for
  318. use and  redistribution  provided  relevant  documentation  is  kept  with  the
  319. program, no changes are made to the program or documentation,  and  it  is  not
  320. bundled with commercial programs or charged for separately.  People who need to
  321. bundle it in for-sale packages must  pay  a  $50  registration  fee  to  "Wayne
  322. Software" at the following address.
  323.  
  324. Additional information about this and other  Wayne  Software  programs  can  be
  325. found in the file BRUCE.DOC which should be included in the original ZIP  file.
  326. The recent change history for this and the other programs is  provided  in  the
  327. HISTORY.ymm file which should be in the same ZIP file where "y" is replaced  by
  328. the last digit of the year and "mm" is the two  digit  month  of  the  release;
  329. HISTORY.611 came out in November 1996.  This same naming convention is used  in
  330. naming the ZIP file (FIXTXymm.ZIP) that this program was included in.
  331.  
  332. Comments and suggestions can also be sent to:
  333.  
  334.                 Bruce Guthrie
  335.                 Wayne Software
  336.                 113 Sheffield St.
  337.                 Silver Spring, MD 20910
  338.  
  339.                 e-mail: WayneSof@erols.com   fax: (301) 588-8986
  340.                 http://www.geocities.com/SiliconValley/Lakes/2414
  341.  
  342. Please provide an Internet e-mail address on all correspondence.
  343.  
  344. 
  345.